From: Carlos Garnacho Date: Thu, 6 Feb 2020 09:59:20 +0000 (+0100) Subject: magnifier: Transform a11y events' coordinates by scale factor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~777^2^2~157 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f3b56e0eb12dddd1bebd7537943217dab25d1634;p=gnome-shell.git magnifier: Transform a11y events' coordinates by scale factor We get those events in logical coordinates, which we have to transform into actual pixels. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984 --- diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 7b43e8dd2..6e9b9e7cc 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -799,8 +799,9 @@ var ZoomRegion = class ZoomRegion { return; } - let [xFocus, yFocus] = [extents.x + (extents.width / 2), - extents.y + (extents.height / 2)]; + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let [xFocus, yFocus] = [(extents.x + (extents.width / 2)) * scaleFactor, + (extents.y + (extents.height / 2)) * scaleFactor]; if (this._xFocus !== xFocus || this._yFocus !== yFocus) { [this._xFocus, this._yFocus] = [xFocus, yFocus]; @@ -820,7 +821,8 @@ var ZoomRegion = class ZoomRegion { return; } - let [xCaret, yCaret] = [extents.x, extents.y]; + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let [xCaret, yCaret] = [extents.x * scaleFactor, extents.y * scaleFactor]; if (this._xCaret !== xCaret || this._yCaret !== yCaret) { [this._xCaret, this._yCaret] = [xCaret, yCaret];